
import axios from 'axios';
import { tansParams } from "@/utils/ruoyi";

const service = axios.create({
    baseURL: process.env.VUE_APP_API_URL,
    timeout: 5000
})

service.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'

// 添加请求拦截器
service.interceptors.request.use(
    (config) => {
        // 在发送请求之前做些什么
        // 例如，添加请求头、身份验证等
        if (config.method === 'get' && config.params) {
            let url = config.url + '?' + tansParams(config.params);
            url = url.slice(0, -1);
            config.params = {};
            config.url = url;
        }
        if ( config.method === 'post' || config.method === 'put') {
            /*const requestObj = {
                url: config.url,
                data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data
            }*/
        }
        return config;
    },
    (error) => {
        // 对请求错误做些什么
        return Promise.reject(error);
    }
);

// 添加响应拦截器
service.interceptors.response.use(
    (response) => {
        // 对响应数据做些什么
        return response.data;
    },
    (error) => {
        // 对响应错误做些什么
        return Promise.reject(error);
    }
);
// 封装具体的请求方法: 四种请求类型不和下面的3和4标题内容放在一起
export const get = (url, params) => {
    return service .get(url, { params });
};

export const post = (url, data) => {
    return service .post(url, data);
};

export const put = (url, data) => {
    return service .put(url, data);
};

export const delete1= (url, data) => {
    return service .delete(url, data);
};

export default service